home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 6 / hsatxt.zip / HSA_TEXT.DOC < prev    next >
Text File  |  1988-07-02  |  78KB  |  1,981 lines

  1.  
  2.  
  3.      Hardwood Software Associates
  4.      
  5.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  6.      
  7.      
  8.      
  9.      
  10.      
  11.      
  12.      
  13.      
  14.      
  15.      
  16.      
  17.      
  18.      
  19.      
  20.                                   H S A _ T E X T                                  H S A _ T E X T
  21.                          Text Screen Control Library for C
  22.      
  23.                                          by
  24.      
  25.                             Hardwood Software Associates
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.      
  60.      14-Apr-88                                                          Page 1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.      Hardwood Software Associates
  70.      
  71.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  72.      
  73.      
  74.                             Hardwood Software Associates                            ____________________________
  75.      
  76.      HSA_TEXT is copyrighted by Hardwood Software Associates.  You are granted
  77.      a limited license to use HSA_TEXT. You may also copy and distribute it,
  78.      provided that the following conditions are met:
  79.      
  80.           1. No fee may be charged for such copying and distribution.
  81.           2. HSA_TEXT may ONLY be distributed in its original, unmodified state.
  82.      
  83.      This library is being distributed as a shareware product.  This means that if
  84.      you find this useful you should send $20.00 (USA currency or check only) to:
  85.      
  86.                      Hardwood Software Associates
  87.                      364 Benson Road
  88.                      Northbridge, Ma 01534
  89.      
  90.      In exchange for this sum you will receive a disk containing the source code for
  91.      the library and distibution files for several other HSA libraries. Remember
  92.      only you can support shareware.  Your support encourages growth.  If you use                                                                              ___
  93.      it you should support it.                   _______    
  94.      
  95.      Registration allows a single person to use an HSA library; multiple
  96.      programmers require multiple registrations.
  97.      
  98.      Registered users may receive a source disk of the latest version of the
  99.      library by sending $10.00.
  100.      
  101.      
  102.      No royalties are required when HSA_TEXT functions are used, although we
  103.      would not refuse them if offered.  We would appreciate a credit on the
  104.      title page of any applications that make use of HSA_TEXT. We would be
  105.      very interested in hearing how HSA_TEXT is used and would love to receive
  106.      copies of applications.
  107.      
  108.      The author, Richard "Spike" Evans may be reached on CompuServe at
  109.      [75026,3604].
  110.      
  111.      All comments and suggestions are welcome.  We love to get mail.
  112.      
  113.      Please be advised that all the usual non-warranty warranties apply to
  114.      HSA_TEXT.  Hardwood Software Associates does not guarantee that HSA_TEXT
  115.      will do any thing useful  at all;  although it has for us.  Nor does
  116.      Hardwood Software Associates warrant that HSA_TEXT will not do anything
  117.      harmful; although it has not for us.
  118.      
  119.      
  120.                                      Trademarks                                     __________
  121.      
  122.      
  123.                 IBM P.C. is a trademark of International Business Machines
  124.                 Lattice is a trademark of Lattice, Inc.
  125.      
  126.      14-Apr-88                                                          Page 2
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.      Hardwood Software Associates
  136.      
  137.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  138.      
  139.                 Microsoft C is a trademark of Microsoft Corporation
  140.                 Turbo C is a trademark of Borland International
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.      
  192.      14-Apr-88                                                          Page 3
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.      Hardwood Software Associates
  202.      
  203.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  204.      
  205.      
  206.                                     INTRODUCTION                                    ____________
  207.      
  208.      HSA_TEXT is a library of 72 C functions that provide direct, fast control
  209.      over the IBM PC screen in text mode.  The functions have been developed
  210.      and tested for the Microsoft version 5.00, and Turbo C version 1.5
  211.      compilers. HSA_TEXT is written entirely in assembler for speed and memory
  212.      efficiency.
  213.      
  214.      
  215.      
  216.      
  217.      The library is contained in several modules, grouped by function.  These
  218.      modules are designed to prevent the inclusion of unused functions in your
  219.      program.  These modules are:
  220.      
  221.              TX_ATTR  - Attribute Setting
  222.              TX_BLK   - Functions that operate on blocks of screen
  223.              TX_CLR   - Functions that clear portions of the screen
  224.              TX_CUR   - Functions that control the cursor
  225.              TX_FILL  - Character fill functions
  226.              TX_MISC  - Miscellaneous functions
  227.              TX_MOWS  - Mouse support functions
  228.              TX_SCROL - Screen scrolling functions
  229.              TX_STAT  - Status functions
  230.              TX_STR   - String display functions
  231.              MOWS_COM - Mouse functions common to GRAF and TEXT
  232.              STAT_COM - Functions common to GRAF and TEXT
  233.      
  234.      This distribution contains two object library files:
  235.      
  236.              SM_HSA_T.LIB - Small memory model library (Microsoft)
  237.              ST_HSA_T.LIB - Small memory model library (Turbo)
  238.      
  239.      The library has also been tested with the Lattice version 3.10 compiler.
  240.      In an effort to keep download times low and because of lack of interest
  241.      the Lattice library is no longer included with the shareware distribution.
  242.      
  243.      After receiving the source files, other memory models may be easily
  244.      created as required.
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.      
  258.      14-Apr-88                                                          Page 4
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.      Hardwood Software Associates
  268.      
  269.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  270.      
  271.      
  272.                               GENERAL - "TX" FUNCTIONS                              ________________________
  273.      
  274.      The "tx" functions are a set of low level functions that give you fast
  275.      efficient control of the text screen.  Functions are provided to display
  276.      strings and characters on the screen.  The screen attributes of the
  277.      displayed information is easily controlled.  Sections of the screen may
  278.      be saved and restored to program memory.  The size and location of the
  279.      cursor is easily manipulated.
  280.      
  281.      The screen is addressed by row and column.  The row and column addresses
  282.      passed to all functions are  0  based.  The upper left corner of the
  283.      screen is row 0, column 0.  The functions keep track of the next
  284.      sequential screen location  (row and  column),  this location  is
  285.      referred  to  as  the current location. If the row address passed to any
  286.      function is equal to -1 the current location is used.
  287.      
  288.      The functions that set the screen attribute, without displaying any
  289.      characters, set what is referred to as the current attribute.
  290.      
  291.      There are several functions in this library that display C strings on the
  292.      screen.  The screen location to start displaying the string may be
  293.      specified, or the current location may be used (functions with "_c" in
  294.      the name).  The screen attribute for the string may also be specified
  295.      (functions with "_a" in the name), or the current attribute may be used.
  296.      The hsa_attr.h file contains definitions for attributes and a macro
  297.      (MAKE_ATTR) to aid in creating screen attributes.
  298.      
  299.      The tx_mows functions in this library provide low level access to a
  300.      mouse.  These functions support many different mice.  Development and
  301.      testing was done with a Logitech mouse.  Many of the functions return the
  302.      mouse type.  These types are defined in the hsa_tx.h header file.  Also
  303.      defined in the header file are definitions for the mouse buttons. Before
  304.      any of these functions are used tx_mows_reset must be called. This
  305.      document is designed to be used with the software documentation provided
  306.      with the mouse, therefore the details of the actions are not discussed.
  307.      
  308.      The header file hsa_tx.h defines all the "tx" functions included in the
  309.      HSA_TEXT function library.  Also included in hsa_tx.h are several useful
  310.      constants, macros, and structures.
  311.      
  312.      Several of the functions have an entry in the documentation listing
  313.      called alias.  This was done because these functions are particularly
  314.      difficult to spell.
  315.      
  316.      Tx_demo.c contains the source code for the tx_demo.exe demonstration
  317.      program; it provides an example of how to use many of the tx functions.
  318.      Refer to MSC_TX.BAT and TCC_TX.BAT for information on how to compile and
  319.      link for the Microsoft and Turbo C compilers.
  320.  
  321.  
  322.  
  323.      
  324.      14-Apr-88                                                          Page 5
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.      Hardwood Software Associates
  334.      
  335.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  336.      
  337.      
  338.      
  339.      NAME:         MAKE_ATTR - Generate an attribute byte                   MAKE_ATTR                             
  340.      MODULE:       MACRO in hsa_attr.h
  341.      SYNOPSIS:     MAKE_ATTR (fore,back)
  342.                       int fore;               Foreground color
  343.                       int back;               Background color
  344.      DESCRIPTION:  Generate an attribute byte from the desired foreground and
  345.                    background colors.  The colors defined in hsa_attr.h are:
  346.                     SCR_BLACK,SCR_BLUE,SCR_GREEN,SCR_CYAN,SCR_RED,SCR_MAGENTA,
  347.                     SCR_YELLOW,SCR_WHITE.
  348.                    Also useful are SCR_INTENSE_BIT and SCR_BLINK_BIT which may
  349.                    be ored with the attribute.
  350.      
  351.      NAME:         REVERSE_ATTR - Reverse foreground and background                   REVERSE_ATTR                                    
  352.      MODULE:       MACRO in hsa_attr.h
  353.      SYNOPSIS:     REVERSE_ATTR (attr)
  354.                       int attr;               Attribute byte
  355.      DESCRIPTION:  Swaps the foreground and background colors in the attribute
  356.                    byte, preserving the intense and blink bits.
  357.      
  358.      NAME:         TX_ADAPT_1 - Returns current adapter type                   TX_ADAPT_1                               
  359.      MODULE:       STAT_COM
  360.      SYNOPSIS:     tx_adapt_1 ();
  361.      DESCRIPTION:  Returns the type of adapter that is currently
  362.                    being used by the BIOS
  363.      RETURNS:      1 = Monochrome (Hercules)
  364.                    2 = Color
  365.                    3 = EGA (64K memory)
  366.                    4 = EGA (128K memory)
  367.                    5 = EGA (192K memory)
  368.                    6 = EGA (256K memory)
  369.      
  370.      NAME:         TX_ATTR - Read the current screen attribute                   TX_ATTR                                    
  371.      MODULE:       TX_STAT
  372.      SYNOPSIS:     tx_attr ();
  373.      RETURNS:      Current screen attribute
  374.      SEE ALSO:     tx_attr_set,tx_b_b,tx_blink,tx_bold,tx_norm,
  375.                    tx_reverse,tx_under
  376.      
  377.      NAME:         TX_ATTR_SET - Set the current screen attribute                   TX_ATTR_SET                                   
  378.      MODULE:       TX_STAT
  379.      SYNOPSIS:     tx_attr_set (attribute);
  380.                       short attribute;        Attribute to use
  381.      DESCRIPTION:  Set the current screen attribute.
  382.      NOTE:         hsa_attr.h contains definitions for all attributes and
  383.                    a MAKE_ATTR macro to create the attribute bytes.
  384.      SEE ALSO:     tx_attr,tx_b_b,tx_blink,tx_bold,tx_norm,tx_reverse,tx_under
  385.      
  386.  
  387.  
  388.  
  389.      
  390.      14-Apr-88                                                          Page 6
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.      Hardwood Software Associates
  400.      
  401.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  402.      
  403.      NAME:         TX_B_B - Set to intense blinking white on black                   TX_B_B                                         
  404.      MODULE:       TX_ATTR
  405.      SYNOPSIS:     tx_b_b ();
  406.      DESCRIPTION:  Set current attribute to intense blinking white on black.
  407.      SEE ALSO:     tx_attr,tx_attr_set,tx_blink,tx_bold,tx_norm,
  408.                    tx_reverse,tx_under
  409.      
  410.      NAME:         TX_BIOS - Use BIOS for all I/O                   TX_BIOS                       
  411.      MODULE:       TX_STAT
  412.      SYNOPSIS:     tx_bios ();
  413.      DESCRIPTION:  Use BIOS calls for all operations to screen.  Although this is
  414.                    much slower than tx_direct, it is more portable.
  415.      SEE ALSO:     tx_direct
  416.      
  417.      NAME:         TX_BLINK - Set to blinking white on black                   TX_BLINK                                 
  418.      MODULE:       TX_ATTR
  419.      SYNOPSIS:     tx_blink ();
  420.      DESCRIPTION:  Set current attribute to blinking white on black.
  421.      SEE ALSO:     tx_attr,tx_attr_set,tx_b_b,tx_bold,tx_norm,tx_reverse,tx_under
  422.      
  423.      NAME:         TX_BOLD - Set to intense white on black                   TX_BOLD                                
  424.      MODULE:       TX_ATTR
  425.      SYNOPSIS:     tx_bold ();
  426.      DESCRIPTION:  Set current attribute to intense white on black.
  427.      SEE ALSO:     tx_attr,tx_attr_set,tx_b_b,tx_blink,tx_norm,
  428.                    tx_reverse,tx_under
  429.      
  430.      NAME:         TX_CHR - Display a character at a specified location                   TX_CHR                                              
  431.      MODULE:       TX_FILL
  432.      SYNOPSIS:     tx_chr (row,column,chr);
  433.                       int row;                Row for display
  434.                       int column;             Column for display
  435.                       char chr;               Character to display
  436.      DESCRIPTION:  Move a character to the screen using the current screen
  437.                    attribute.
  438.      SEE ALSO:     tx_chr_a,tx_chr_c,tx_chr_a_c
  439.      
  440.      NAME:         TX_CHR_A - Display character at specified location                   TX_CHR_A                                          
  441.                               and attribute
  442.      MODULE:       TX_FILL
  443.      SYNOPSIS:     tx_chr_a (row,column,chr,attr);
  444.                       int row;                Row for display
  445.                       int column;             Column for display
  446.                       char chr;               Character to display
  447.                       int attr;               Attribute for character
  448.      DESCRIPTION:  Move a character to the screen using the specified
  449.                    screen attribute.
  450.      SEE ALSO:     tx_chr,tx_chr_c,tx_chr_a_c,tx_chr_o,tx_chr_o_c
  451.      
  452.  
  453.  
  454.  
  455.      
  456.      14-Apr-88                                                          Page 7
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.      Hardwood Software Associates
  466.      
  467.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  468.      
  469.      NAME:         TX_CHR_C - Display a character, continued from current                   TX_CHR_C                                              
  470.                               location
  471.      MODULE:       TX_FILL
  472.      SYNOPSIS:     tx_chr_c (chr);
  473.                    char chr;                  Character to display
  474.      DESCRIPTION:  Move the character to the screen using the current
  475.                    screen attribute.  The character is displayed on the
  476.                    screen at the next current location.
  477.      SEE ALSO:     tx_chr,tx_chr_a,tx_chr_a_c,tx_chr_o,tx_chr_o_c
  478.      
  479.      NAME:         TX_CHR_A_C - Display a character with specified                   TX_CHR_A_C                                     
  480.                                 attribute, continued from current location
  481.      ALIAS:        TX_CHR_C_A                   TX_CHR_C_A
  482.      MODULE:       TX_FILL
  483.      SYNOPSIS:     tx_chr_a_c (chr,attr);
  484.                    tx_chr_c_a (chr,attr);
  485.                       char chr;               Character to display
  486.                       int attr;               Attribute for character
  487.      DESCRIPTION:  Move the character to the screen using the specified
  488.                    screen attribute.  The character is displayed on the
  489.                    screen at the current location.
  490.      SEE ALSO:     tx_chr,tx_chr_a,tx_chr_c,tx_chr_o,tx_chr_o_c
  491.      
  492.      NAME:         TX_CHR_O - Display a character only at a specified location                   TX_CHR_O                                                   
  493.      MODULE:       TX_FILL
  494.      SYNOPSIS:     tx_chr_o (row,column,chr);
  495.                       int row;                Row for display
  496.                       int column;             Column for display
  497.                       char chr;               Character to display
  498.      DESCRIPTION:  Move the character to the screen. Move the character only,
  499.                    no change is made to the screen attribute of the screen.
  500.                    This is useful when replacing existing screen data.
  501.      SEE ALSO:     tx_chr,tx_chr_a,tx_chr_c,tx_chr_a_c,tx_chr_o_c
  502.      
  503.      NAME:         TX_CHR_O_C - Display a character only, continued                   TX_CHR_O_C                                      
  504.                                 from current location
  505.      MODULE:       TX_FILL
  506.      SYNOPSIS:     tx_chr_o_c (chr);
  507.                       char chr;               Character to display
  508.      DESCRIPTION:  Move the character to the screen at the current location.
  509.                    Move the character only, no change is made to the screen
  510.                    attribute of the screen.
  511.      SEE ALSO:     tx_chr,tx_chr_a,tx_chr_c,tx_chr_a_c,tx_chr_o
  512.      
  513.      NAME:         TX_CLR - Clear the entire screen                   TX_CLR                          
  514.      MODULE:       TX_CLR
  515.      SYNOPSIS:     tx_clr ();
  516.      DESCRIPTION:  Clears the screen to blanks, using the current screen
  517.                    attribute.
  518.      SEE ALSO:     tx_clr_a,tx_clr_eol,tx_clr_eol_a,tx_clr_rows,tx_clr_rows_a
  519.      
  520.  
  521.      
  522.      14-Apr-88                                                          Page 8
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.      Hardwood Software Associates
  532.      
  533.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  534.      
  535.      NAME:         TX_CLR_A - Clear the entire screen                   TX_CLR_A                          
  536.      MODULE:       TX_CLR
  537.      SYNOPSIS:     tx_clr_a (attr);
  538.                       int attr;               Attribute for character
  539.      DESCRIPTION:  Clears the screen to blanks, using the specified screen
  540.                    attribute.
  541.      SEE ALSO:     tx_clr_a,tx_clr_eol,tx_clr_eol_a,tx_clr_rows,tx_clr_rows_a
  542.      
  543.      NAME:         TX_CLR_EOL - Clear to the end of the line                   TX_CLR_EOL                               
  544.      MODULE:       TX_CLR
  545.      SYNOPSIS:     tx_clr_eol ();
  546.      DESCRIPTION:  Clear the screen from the current location to the end of row,
  547.                    using the current screen attribute.
  548.      SEE ALSO:     tx_clr,tx_clr_a,tx_clr_eol_a,tx_clr_rows,tx_clr_rows_a
  549.      
  550.      NAME:         TX_CLR_EOL_A - Clear to the end of the line                   TX_CLR_EOL_A                               
  551.      MODULE:       TX_CLR
  552.      SYNOPSIS:     tx_clr_eol_a (attr);
  553.                       int attr;               Attribute for character
  554.      DESCRIPTION:  Clear the screen from the current location to the end of row,
  555.                    using the current screen attribute.
  556.      SEE ALSO:     tx_clr,tx_clr_a,tx_clr_eol,tx_clr_rows,tx_clr_rows_a
  557.      
  558.      NAME:         TX_CLR_ROWS - Clear a block of lines on the screen                   TX_CLR_ROWS                                       
  559.      MODULE:       TX_CLR
  560.      SYNOPSIS:     tx_clr_rows (start,end);
  561.                       int start;              First line to clear
  562.                                                  (-1 if current)
  563.                       int end;                Last line to clear
  564.                                                  (-1 if current)
  565.      DESCRIPTION:  Clears the screen from the start line to the end line, using
  566.                    the current screen attribute.
  567.      SEE ALSO:     tx_clr,tx_clr_a,tx_clr_eol,tx_clr_eol_a,tx_clr_rows_a
  568.      
  569.      NAME:         TX_CLR_ROWS_A - Clear a block of lines on the screen                   TX_CLR_ROWS_A                                       
  570.      MODULE:       TX_CLR
  571.      SYNOPSIS:     tx_clr_rows_a (start,end,attr);
  572.                       int start;              First line to clear
  573.                                                  (-1 if current)
  574.                       int end;                Last line to clear
  575.                                                  (-1 if current)
  576.                       int attr;               Attribute for character
  577.      DESCRIPTION:  Clears the screen from the start line to the end line, using
  578.                    the specified screen attribute.
  579.      SEE ALSO:     tx_clr,tx_clr_a,tx_clr_eol,tx_clr_eol_a,tx_clr_rows
  580.      
  581.      NAME:         TX_COL - Read the current location column                   TX_COL                                   
  582.      MODULE:       TX_STAT
  583.      SYNOPSIS:     tx_col ();
  584.      RETURNS:      Current location column
  585.      SEE ALSO:     tx_row,tx_up,tx_down,tx_nl,tx_loc
  586.      
  587.      
  588.      14-Apr-88                                                          Page 9
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.      Hardwood Software Associates
  598.      
  599.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  600.      
  601.      NAME:         TX_CONF - Set crt screen memory address and                   TX_CONF                                    
  602.                              6845 index register address
  603.      MODULE:       TX_STAT
  604.      SYNOPSIS:     tx_conf (tx_seg,tx_6845_i);
  605.                       unsigned tx_seg;    Segment address of crt
  606.                                           memory for direct mode
  607.                       unsigned tx_6845_i; 6845 index register address
  608.      DESCRIPTION:  If the arguments are not equal to 0 or -1 then
  609.                    the segment for the screen memory and/or the 6845
  610.                    index register address are updated.
  611.      CAUTION:      This must be called after every call to tx_direct as
  612.                    tx_direct sets the segment and 6845 address to the
  613.                    default for the current monitor type.
  614.      SEE ALSO:     tx_direct,tx_snow,tx_no_snow
  615.      
  616.      NAME:         TX_CUR_HIDE - Hide the cursor                   TX_CUR_HIDE                  
  617.      MODULE:       TX_CUR
  618.      SYNOPSIS:     tx_cur_hide ();
  619.      SEE ALSO:     tx_cur_show,tx_cur_set
  620.      
  621.      NAME:         TX_CUR_SET - Set the cursor start / stop scan lines                   TX_CUR_SET                                         
  622.      MODULE:       TX_CUR
  623.      SYNOPSIS:     tx_cur_set (start,end);
  624.                       int start;              Start scan line of cursor
  625.                       int end;                End scan line of cursor
  626.      DESCRIPTION:  Set the size of the cursor.
  627.      SEE ALSO:     tx_cur_hide,tx_cur_show
  628.      
  629.      NAME:         TX_CUR_SHOW - Show the cursor                   TX_CUR_SHOW                  
  630.      MODULE:       TX_CUR
  631.      SYNOPSIS:     tx_cur_show ();
  632.      SEE ALSO:     tx_cur_hide,tx_cur_set
  633.      
  634.      NAME:         TX_DIRECT - Access screen hardware directly                   TX_DIRECT                                  
  635.      MODULE:       TX_STAT
  636.      SYNOPSIS:     tx_direct ();
  637.      DESCRIPTION:  Access screen directly.  This is much faster but not
  638.                    as portable as the BIOS mode.
  639.      NOTE:         If the current state is not 7 (monochrome) tx_snow is
  640.                    called to prevent screen interference.
  641.      SEE ALSO:     tx_bios,tx_conf
  642.      
  643.      NAME:         TX_DOWN - Move the current location one row down                   TX_DOWN                                         
  644.      MODULE:       TX_CUR
  645.      SYNOPSIS:     tx_down ();
  646.      SEE ALSO:     tx_col,tx_row,tx_up,tx_down,tx_nl,tx_loc
  647.      
  648.  
  649.  
  650.  
  651.  
  652.  
  653.      
  654.      14-Apr-88                                                          Page 10
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.      Hardwood Software Associates
  664.      
  665.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  666.      
  667.      NAME:         TX_FILL - Fill with the specified number of a character                   TX_FILL                                                
  668.      MODULE:       TX_FILL
  669.      SYNOPSIS:     tx_fill (row,column,chr,number);
  670.                       int row;                Row for display
  671.                       int column;             Column for display
  672.                       char chr;               Character to display
  673.                       int number;             Number of times to
  674.                                               display character
  675.      DESCRIPTION:  Move the character to the screen the specified
  676.                    number of times using the current screen attribute.
  677.      SEE ALSO:     tx_fill_a,tx_fill_c,tx_fill_a_c
  678.      
  679.      NAME:         TX_FILL_A - Fill with the specified number of a character                   TX_FILL_A                                                
  680.      MODULE:       TX_FILL
  681.      SYNOPSIS:     tx_fill_a (row,column,chr,number,attr);
  682.                       int row;                Row for display
  683.                       int column;             Column for display
  684.                       char chr;               Character to display
  685.                       int number;             Number of times to
  686.                                               display character
  687.                       int attr;               Attribute to use
  688.      DESCRIPTION:  Move the character to the screen the specified
  689.                    number of times, using the specified attribute.
  690.      SEE ALSO:     tx_fill,tx_fill_c,tx_fill_a_c
  691.      
  692.      NAME:         TX_FILL_C - Fill with the specified number of a                   TX_FILL_C                                      
  693.                                character, continued from current location
  694.      MODULE:       TX_FILL
  695.      SYNOPSIS:     tx_fill_c (chr,number);
  696.                       char chr;               Character to display
  697.                       int number;             Number of times to
  698.                                               display character
  699.      DESCRIPTION:  Move the character to the screen the specified
  700.                    number of times.  Uses the current attribute.
  701.                    Starts at current location.
  702.      SEE ALSO:     tx_fill,tx_fill_a,tx_fill_a_c
  703.      
  704.      NAME:         TX_FILL_A_C - Fill with the specified number of a                   TX_FILL_A_C                                      
  705.                                  character, continued from current location
  706.      ALIAS:        TX_FILL_C_A                   TX_FILL_C_A
  707.      MODULE:       TX_FILL
  708.      SYNOPSIS:     tx_fill_a_c (chr,number,attr);
  709.                    tx_fill_c_a (chr,number,attr);
  710.                       char chr;               Character to display
  711.                       int number;             Number of times to
  712.                                               display character
  713.                       int attr;               Attribute to use
  714.      DESCRIPTION:  Move the character to the screen the specified
  715.                    number of times.  Starts at current location.
  716.      SEE ALSO:     tx_fill,tx_fill_a,tx_fill_c
  717.      
  718.  
  719.      
  720.      14-Apr-88                                                          Page 11
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.      Hardwood Software Associates
  730.      
  731.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  732.      
  733.      NAME:         TX_GET_STATUS / TX_PUT_STATUS - CRT status save/restore                   TX_GET_STATUS   TX_PUT_STATUS                          
  734.      MODULE:       TX_STAT
  735.      SYNOPSIS:     tx_get_status (&buffer);
  736.                    tx_put_status (&buffer);
  737.                       struct                  Status buffer pointer
  738.                          {
  739.                          unsigned char mode;
  740.                          unsigned char attribute;
  741.                          unsigned short row,column;
  742.                          } *buffer;
  743.      DESCRIPTION:  Retrieves or sets the current CRT status.
  744.      NOTE:         Structure defined as CRT_STATUS in hsa_tx.h
  745.      
  746.      NAME:         TX_LEFT - Move the current location one column left                   TX_LEFT                                            
  747.      MODULE:       TX_CUR
  748.      SYNOPSIS:     tx_left ();
  749.      SEE ALSO:     tx_col,tx_row,tx_up,tx_down,tx_nl,tx_loc
  750.      
  751.      NAME:         TX_LOC - Set the current location                   TX_LOC                           
  752.      MODULE:       TX_CUR
  753.      SYNOPSIS:     tx_loc (row,column);
  754.                       int row;                Row for display
  755.                       int column;             Column for display
  756.      DESCRIPTION:  Move the cursor to the specified location.
  757.      SEE ALSO:     tx_col,tx_row,tx_up,tx_down,tx_nl
  758.      
  759.      NAME:         TX_MOWS_BUTTON - Return status of buttons                   TX_MOWS_BUTTON                           
  760.      MODULE:       MOWS_COM
  761.      SYNOPSIS:     int tx_mows_button ();
  762.      DESCRIPTION:  Get the current mouse button status.
  763.      RETURNS:      FALSE - No buttons pressed.
  764.                    bits set for buttons pressed:
  765.                      MOWS_LEFT,MOWS_RIGHT,MOWS_MIDDLE (in hsa_tx.h)
  766.      
  767.      NAME:         TX_MOWS_HARD_CUR - Set hardware text cursor                   TX_MOWS_HARD_CUR                           
  768.      MODULE:       TX_MOWS
  769.      SYNOPSIS:     int tx_mows_hard_cur (start,stop);
  770.                    int start;         Start scan line of cursor (top)
  771.                    int stop;          Stop scan line
  772.      DESCRIPTION:  Set the hardware cursor scan lines.
  773.      RETURNS:      Mouse type:
  774.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  775.      
  776.      NAME:         TX_MOWS_HIDE - Hide mouse cursor                   TX_MOWS_HIDE                    
  777.      MODULE:       MOWS_COM
  778.      SYNOPSIS:     int tx_mows_hide ();
  779.      DESCRIPTION:  Hide the mouse cursor; if already hidden do nothing.
  780.      RETURNS:      Mouse type:
  781.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  782.      
  783.  
  784.  
  785.      
  786.      14-Apr-88                                                          Page 12
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.      Hardwood Software Associates
  796.      
  797.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  798.      
  799.      NAME:         TX_MOWS_LOC - Return location of mouse cursor                   TX_MOWS_LOC                                  
  800.      MODULE:       TX_MOWS
  801.      SYNOPSIS:     int tx_mows_loc (row,col);
  802.                    int *row,*col;    Current cursor position pointer
  803.      DESCRIPTION:  Get the current mouse cursor position.  Screen
  804.                    coordinates are in character units.
  805.      RETURNS:      Mouse type:
  806.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  807.      
  808.      NAME:         TX_MOWS_MOVE - Move mouse cursor to position                   TX_MOWS_MOVE                                
  809.      MODULE:       TX_MOWS
  810.      SYNOPSIS:     int tx_mows_move (row,col);
  811.                    int row,col;        Desired cursor position
  812.      DESCRIPTION:  Move the cursor to the specified position.
  813.      CAUTIONS:     The Mouse Systems driver requires that the cursor be
  814.                    hidden before moving the cursor.  If the cursor is not
  815.                    hidden, the cursor stays where it is on the screen
  816.                    until the mouse is moved then it starts from the new
  817.                    location.  The Logitech driver allows move to be called
  818.                    anytime.
  819.      RETURNS:      Mouse type:
  820.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  821.      
  822.      NAME:         TX_MOWS_PRESS - Get count of button presses                   TX_MOWS_PRESS                              
  823.      MODULE:       TX_MOWS
  824.      SYNOPSIS:     int tx_mows_press (row,col,button);
  825.                    int *row,*col;      Cursor position at last press
  826.                    int button;         Desired button (see HSA_TX.H)
  827.      DESCRIPTION:  Get the number of button presses of the specified
  828.                    button since the last call of tx_mows_press.
  829.      RETURNS:      Number of button presses
  830.                    Location of last press (via *row,*col)
  831.      
  832.      NAME:         TX_MOWS_RELEASE - Get count of button releases                   TX_MOWS_RELEASE                               
  833.      MODULE:       TX_MOWS
  834.      SYNOPSIS:     int tx_mows_release (row,col,button);
  835.                    int *row,*col;      Cursor position at last release
  836.                    int button;         Desired button (see HSA_TX.H)
  837.      DESCRIPTION:  Get the number of button releases of the specified
  838.                    button since the last call of tx_mows_release.
  839.      RETURNS:      Number of button releases
  840.                    Location of last release (via *row,*col)
  841.      
  842.      NAME:         TX_MOWS_RESET - Reset the mouse driver                   TX_MOWS_RESET                         
  843.      MODULE:       MOWS_COM
  844.      SYNOPSIS:     int tx_mows_reset ();
  845.      DESCRIPTION:  Determine if the mouse driver is loaded and there
  846.                    is a mouse attached.  Return the status of the mouse.
  847.      RETURNS:      Mouse type:
  848.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  849.      CAUTIONS:     This function must be called before any other
  850.                    mouse functions are called.
  851.      
  852.      14-Apr-88                                                          Page 13
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.      Hardwood Software Associates
  862.      
  863.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  864.      
  865.      
  866.      NAME:         TX_MOWS_SENSITIVITY - Set mouse sensitivity                   TX_MOWS_SENSITIVITY                        
  867.      MODULE:       MOWS_COM
  868.      SYNOPSIS:     int tx_mows_sensitivity (hor,ver);
  869.                    int hor;            horizontal mickey/pixel
  870.                    int ver;            vertical mickey/pixel
  871.      DESCRIPTION:  Sets the sensitivity of the mouse motion.
  872.      RETURNS:      Mouse type:
  873.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  874.      
  875.      NAME:         TX_MOWS_SOFT_CUR - Set software text cursor                   TX_MOWS_SOFT_CUR                           
  876.      MODULE:       TX_MOWS
  877.      SYNOPSIS:     int tx_mows_soft_cur (scr_mask,cur_mask);
  878.                    int scr_mask;            Screen mask
  879.                    int cur_mask;            Cursor mask
  880.      DESCRIPTION:  Set the software cursor character/attribute
  881.      RETURNS:      Mouse type:
  882.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  883.      
  884.      NAME:         TX_MOWS_SHOW - Show mouse cursor                   TX_MOWS_SHOW                    
  885.      MODULE:       MOWS_COM
  886.      SYNOPSIS:     int tx_mows_show ();
  887.      DESCRIPTION:  Show the mouse cursor; if already visible do nothing.
  888.      RETURNS:      Mouse type:
  889.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  890.      
  891.      NAME:         TX_MOWS_TYPE - Return type of mouse                   TX_MOWS_TYPE                       
  892.      MODULE:       MOWS_COM
  893.      SYNOPSIS:     int tx_mows_type ();
  894.      DESCRIPTION:  Return type of mouse.
  895.      RETURNS:      Mouse type:
  896.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  897.      
  898.      NAME:         TX_MOWS_WINDOW - Limit mouse motion to a window                   TX_MOWS_WINDOW                                 
  899.      MODULE:       TX_MOWS
  900.      SYNOPSIS:     int tx_mows_window (row1,col1,row2,col2);
  901.                    int row1,col1;         Coords of upper left corner
  902.                    int row2,col2;         Coords of lower right corner
  903.      DESCRIPTION:  Limit motion of mouse to within specified window.
  904.      RETURNS:      Mouse type:
  905.                     MOWS_NO,MOWS_MICRO,MOWS_MOUSE (in hsa_tx.h)
  906.      
  907.      NAME:         TX_NL - Move the current location to the start of next row                   TX_NL                                                     
  908.      MODULE:       TX_CUR
  909.      SYNOPSIS:     tx_nl ();
  910.      SEE ALSO:     tx_col,tx_row,tx_up,tx_down,tx_nl,tx_loc
  911.      
  912.      NAME:         TX_NO_COL - Read the number of columns in screen                   TX_NO_COL                                       
  913.      MODULE:       TX_STAT
  914.      SYNOPSIS:     tx_no_col ();
  915.      RETURNS:      Number of columns on screen
  916.      
  917.      
  918.      14-Apr-88                                                          Page 14
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.      Hardwood Software Associates
  928.      
  929.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  930.      
  931.      NAME:         TX_NO_SNOW - Don't wait for retrace to prevent snow                   TX_NO_SNOW                                         
  932.      MODULE:       TX_STAT
  933.      SYNOPSIS:     tx_no_snow ();
  934.      DESCRIPTION:  Don't wait for retrace when accessing screen memory.
  935.      NOTE:         This function should be called for color adapters
  936.                    (e.g. EGA) that don't create snow when the screen
  937.                    memory is accessed directly.
  938.      SEE ALSO:     tx_snow,tx_direct
  939.      
  940.      NAME:         TX_NORM - Set to white on black                   TX_NORM                        
  941.      MODULE:       TX_ATTR
  942.      SYNOPSIS:     tx_norm ();
  943.      DESCRIPTION:  Set current attribute to white on black.
  944.      SEE ALSO:     tx_attr,tx_attr_set,tx_b_b,tx_blink,tx_bold,
  945.                    tx_reverse,tx_under
  946.      
  947.      NAME:         TX_RD_BLK - Read a block of screen data                   TX_RD_BLK                              
  948.      MODULE:       TX_BLK
  949.      SYNOPSIS:     tx_rd_blk (row,column,buffer,no_row,no_column);
  950.                       int row;                Row to read
  951.                       int column;             Column to read
  952.                       int *buffer;            Buffer address
  953.                       int no_row;             Number of rows to read
  954.                       int no_column;          Number of columns to read
  955.      DESCRIPTION:  Read a block of screen memory, character and
  956.                    attribute, into the buffer.
  957.      NOTE:         The current location is set to row,column.
  958.      SEE ALSO:     tx_rd_blk_c,tx_wr_blk,tx_wr_blk_c
  959.      
  960.      NAME:         TX_RD_BLK_C - Read a block of screen data, at current location                   TX_RD_BLK_C                                                   
  961.      MODULE:       TX_FILL
  962.      SYNOPSIS:     tx_rd_blk_c (buffer,no_row,no_column);
  963.                       int *buffer;            Buffer address
  964.                       int no_row;             Number of rows to read
  965.                       int no_column;          Number of columns to read
  966.      DESCRIPTION:  Read a block of screen memory, character and
  967.                    attribute, into the buffer.
  968.      NOTE:         The current location is unchanged.
  969.      SEE ALSO:     tx_rd_blk,tx_wr_blk,tx_wr_blk_c
  970.      
  971.      NAME:         TX_RD_STR - Read string from screen                   TX_RD_STR                          
  972.      MODULE:       TX_MISC
  973.      SYNOPSIS:     char *tx_rd_str (row,col,string,number);
  974.                       int row;                Row to read
  975.                       int column;             Column to read
  976.                       char *string;           Buffer address
  977.                       short number;           Number characters to read
  978.      DESCRIPTION:  Reads the characters displayed on the screen into the
  979.                    string buffer.
  980.      RETURNS:      Pointer to string
  981.      NOTE:         Current location remains unchanged
  982.      SEE ALSO:     tx_rd_str_c
  983.      
  984.      14-Apr-88                                                          Page 15
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.      Hardwood Software Associates
  994.      
  995.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  996.      
  997.      
  998.      NAME:         TX_RD_STR_C - Read string from screen at current location                   TX_RD_STR_C                                              
  999.      MODULE:       TX_MISC
  1000.      SYNOPSIS:     char *tx_rd_str_c (string,number);
  1001.                       char *string;           Buffer address
  1002.                       short number;           Number characters to read
  1003.      DESCRIPTION:  Reads the characters displayed on the screen into the
  1004.                    string buffer.
  1005.      RETURNS:      Pointer to string
  1006.      NOTE:         Current location remains unchanged
  1007.      SEE ALSO:     tx_rd_str
  1008.      
  1009.      NAME:         TX_REVERSE - Set to black on white                   TX_REVERSE                        
  1010.      MODULE:       TX_ATTR
  1011.      SYNOPSIS:     tx_reverse ();
  1012.      DESCRIPTION:  Set current attribute to black on white.
  1013.      SEE ALSO:     tx_attr,tx_attr_set,tx_b_b,tx_blink,tx_bold,tx_norm,tx_under
  1014.      
  1015.      NAME:         TX_RIGHT - Move the current location one column right                   TX_RIGHT                                             
  1016.      MODULE:       TX_CUR
  1017.      SYNOPSIS:     tx_right ();
  1018.      SEE ALSO:     tx_col,tx_row,tx_up,tx_down,tx_nl,tx_loc
  1019.      
  1020.      NAME:         TX_ROW - Read the current location row                   TX_ROW                                
  1021.      MODULE:       TX_STAT
  1022.      SYNOPSIS:     tx_row ();
  1023.      RETURNS:      Current location row
  1024.      SEE ALSO:     tx_col,tx_up,tx_down,tx_nl,tx_loc
  1025.      
  1026.      NAME:         TX_SCDN - Scroll screen down one line                   TX_SCDN                              
  1027.      MODULE:       TX_SCROL
  1028.      SYNOPSIS:     tx_scdn (row,column,no_row,no_column);
  1029.                       int row,column;         Upper left row/column
  1030.                                                  (-1 for current)
  1031.                       int no_row;             Number of rows to scroll
  1032.                       int no_column;          Number of columns to scroll
  1033.      DESCRIPTION:  Scrolls the specified portion of the screen down one row,
  1034.                    using the current attribute.
  1035.      SEE ALSO:     tx_scup,tx_scdn_a,tx_up_a
  1036.      
  1037.      NAME:         TX_SCDN_A - Scroll screen down one line                   TX_SCDN_A                              
  1038.      MODULE:       TX_SCROL
  1039.      SYNOPSIS:     tx_scdn_a (row,column,no_row,no_column,attr);
  1040.                       int row,column;         Upper left row/column
  1041.                                                  (-1 for current)
  1042.                       int no_row;             Number of rows to scroll
  1043.                       int no_column;          Number of columns to scroll
  1044.                       int attr;               Attribute for character
  1045.      DESCRIPTION:  Scrolls the specified portion of the screen down one row,
  1046.                    using the specified attribute.
  1047.      SEE ALSO:     tx_scup,tx_scdn_a,tx_up_a
  1048.      
  1049.      
  1050.      14-Apr-88                                                          Page 16
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.      Hardwood Software Associates
  1060.      
  1061.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1062.      
  1063.      NAME:         TX_SCUP - Scroll screen up one line                   TX_SCUP                            
  1064.      MODULE:       TX_SCROL
  1065.      SYNOPSIS:     tx_scup (row,column,no_row,no_column);
  1066.                       int row,column;         Upper left row/column
  1067.                                                  (-1 for current)
  1068.                       int no_row;             Number of rows to scroll
  1069.                       int no_column;          Number of columns to scroll
  1070.      DESCRIPTION:  Scrolls the specified portion of the screen up one row,
  1071.                    using the current attribute.
  1072.      SEE ALSO:     tx_scdn,tx_scdn_a,tx_up_a
  1073.      
  1074.      NAME:         TX_SCUP_A - Scroll screen up one line                   TX_SCUP_A                            
  1075.      MODULE:       TX_SCROL
  1076.      SYNOPSIS:     tx_scup_a (row,column,no_row,no_column,attr);
  1077.                       int row,column;         Upper left row/column
  1078.                                                  (-1 for current)
  1079.                       int no_row;             Number of rows to scroll
  1080.                       int no_column;          Number of columns to scroll
  1081.                       int attr;               Attribute for character
  1082.      DESCRIPTION:  Scrolls the specified portion of the screen up one row,
  1083.                    using the specified attribute.
  1084.      SEE ALSO:     tx_scup,tx_scdn_a,tx_up_a
  1085.      
  1086.      NAME:         TX_SNOW - Wait for retrace to prevent snow                   TX_SNOW                                   
  1087.      MODULE:       TX_STAT
  1088.      SYNOPSIS:     tx_snow ();
  1089.      DESCRIPTION:  Wait for retrace when accessing screen memory.
  1090.      NOTE:         Only applicable for direct mode on CGA adapters.
  1091.      SEE ALSO:     tx_no_snow,tx_direct
  1092.      
  1093.      NAME:         TX_STATE - Returns current video state                   TX_STATE                              
  1094.      MODULE:       STAT_COM
  1095.      SYNOPSIS:     tx_state ();
  1096.      DESCRIPTION:  Calls BIOS INT 10 with function code 15 to get the
  1097.                    current video state.
  1098.      RETURNS:      Text modes:
  1099.                       0 = 40x25 Black and white
  1100.                       1 = 40x25 Color
  1101.                       2 = 80x25 Black and white
  1102.                       3 = 80x25 Color
  1103.                    Graphics modes:
  1104.                       4 = 320x200 4 Color
  1105.                       5 = 320x200 Black and white
  1106.                       6 = 640x200 Black and white
  1107.                       7 = Monochrome
  1108.                       D = 320x200 16 Color               (EGA)
  1109.                       E = 640x200 16 Color               (EGA)
  1110.                       F = 640x350 4 Color Monochrome     (EGA)
  1111.                      10 = 640x350 16 Color               (EGA)
  1112.                      64 = 640x400 Black and white        (AT&T)
  1113.      
  1114.  
  1115.      
  1116.      14-Apr-88                                                          Page 17
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.      Hardwood Software Associates
  1126.      
  1127.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1128.      
  1129.      NAME:         TX_STR - Display string at specified location                   TX_STR                                       
  1130.      MODULE:       TX_STR
  1131.      SYNOPSIS:     tx_str (row,column,string);
  1132.                       int row;                Row for string display
  1133.                       int column;             Column for string display
  1134.                       char *string;           Pointer to string
  1135.      DESCRIPTION:  Move the string to the screen using the current
  1136.                    attribute.  The row and column specified in the
  1137.                    call are used for the first character in the string.
  1138.      SEE ALSO:     tx_str_a,tx_str_c,tx_str_a_c
  1139.      
  1140.      NAME:         TX_STR_A - Display string at specified location and attribute                   TX_STR_A                                                     
  1141.      MODULE:       TX_STR
  1142.      SYNOPSIS:     tx_str_a (row,column,string,attr);
  1143.                       int row;                Row for string display
  1144.                       int column;             Column for string display
  1145.                       char *string;           Pointer to string
  1146.                       int attr;               Attribute for string
  1147.      DESCRIPTION:  Move the string to the screen using the specified
  1148.                    screen attribute.  The row and column specified in
  1149.                    the call are used for the first character in the string.
  1150.      SEE ALSO:     tx_str,tx_str_c,tx_str_a_c
  1151.      
  1152.      NAME:         TX_STR_C - Display a string, continued from current location                   TX_STR_C                                                    
  1153.      MODULE:       TX_STR
  1154.      SYNOPSIS:     tx_str_c (string);
  1155.                       char *string;           Pointer to string
  1156.      DESCRIPTION:  Move the string to the screen using the current
  1157.                    attribute.  The string is displayed on the screen
  1158.                    in the next available location.
  1159.      SEE ALSO:     tx_str,tx_str_a,tx_str_a_c
  1160.      
  1161.      NAME:         TX_STR_A_C - Display a string, continued from                   TX_STR_A_C                                   
  1162.                                 current location with specified attribute
  1163.      ALIAS:        TX_STR_C_A                   TX_STR_C_A
  1164.      MODULE:       TX_STR
  1165.      SYNOPSIS:     tx_str_a_c (string,attr);
  1166.                    tx_str_c_a (string,attr);
  1167.                       char *string;           Pointer to string
  1168.                       int attr;               Attribute for string
  1169.      DESCRIPTION:  Move the string to the screen using the specified
  1170.                    screen attribute.  The string is displayed on the
  1171.                    screen in the next available location.
  1172.      SEE ALSO:     tx_str,tx_str_a,tx_str_c
  1173.      
  1174.      NAME:         TX_UNDER - Set to underlined                   TX_UNDER                    
  1175.      MODULE:       TX_ATTR
  1176.      SYNOPSIS:     tx_under ();
  1177.      DESCRIPTION:  Set current attribute to underlined.
  1178.      CAUTION:      In color this is blue.
  1179.      SEE ALSO:     tx_attr,tx_attr_set,tx_b_b,tx_blink,tx_bold,tx_norm,tx_reverse
  1180.      
  1181.      
  1182.      14-Apr-88                                                          Page 18
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.      Hardwood Software Associates
  1192.      
  1193.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1194.      
  1195.      NAME:         TX_UP - Move the current location one row up                   TX_UP                                       
  1196.      MODULE:       TX_CUR
  1197.      SYNOPSIS:     tx_up ();
  1198.      SEE ALSO:     tx_col,tx_row,tx_down,tx_nl,tx_loc
  1199.      
  1200.      NAME:         TX_WR_BLK - Write a block of screen data                   TX_WR_BLK                               
  1201.      MODULE:       TX_FILL
  1202.      SYNOPSIS:     tx_wr_blk (row,column,buffer,no_row,no_column);
  1203.                       int row;                Row to write
  1204.                       int column;             Column to write
  1205.                       int *buffer;            Buffer address
  1206.                       int no_row;             Number of rows to write
  1207.                       int no_column;          Number of columns to write
  1208.      DESCRIPTION:  Write a block of screen memory, character and
  1209.                    attribute, from the buffer.
  1210.      NOTE:         The current location is set to row,column.
  1211.      SEE ALSO:     tx_rd_blk,tx_rd_blk_c,tx_wr_blk_c
  1212.      
  1213.      NAME:         TX_WR_BLK_C - Write a block of screen data,                   TX_WR_BLK_C                                
  1214.                                  at current location
  1215.      MODULE:       TX_FILL
  1216.      SYNOPSIS:     tx_wr_blk_c (buffer,no_row,no_column);
  1217.                       int *buffer;            Buffer address
  1218.                       int no_row;             Number of rows to write
  1219.                       int no_column;          Number of columns to write
  1220.      DESCRIPTION:  Write a block of screen memory, character and
  1221.                    attribute, from the buffer.
  1222.      NOTE:         The current location is unchanged.
  1223.      SEE ALSO:     tx_rd_blk,tx_rd_blk_c,tx_wr_blk
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.      
  1248.      14-Apr-88                                                          Page 19
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.      Hardwood Software Associates
  1258.      
  1259.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1260.      
  1261.      
  1262.                         Useful Screen Attributes and Macros                        ___________________________________
  1263.      
  1264.      The following constants and macros are defined in hsa_attr.h and are
  1265.      useful in generating screen attributes.
  1266.      
  1267.      /******************************************************************/
  1268.      /*                                                                */
  1269.      /*  H S A _ A T T R . H - Various Screen Attributes and Macro     */
  1270.      /*                                                                */
  1271.      /******************************************************************/
  1272.      
  1273.      /******************************************************************/
  1274.      /*                                                                */
  1275.      /*        Copyright (c) Hardwood Software Associates 1988         */
  1276.      /*                                                                */
  1277.      /*                 Hardwood Software Associates                   */
  1278.      /*                        364 Benson Road                         */
  1279.      /*                     Northbridge, Ma 01534                      */
  1280.      /*                                                                */
  1281.      /******************************************************************/
  1282.      
  1283.      /******************************************************************
  1284.       *            H S A _ A T T R . H    E D I T    L O G
  1285.       *
  1286.       *    $Log:   D:/CRT/VCS/HSA_ATTR.H_V  $
  1287.       *
  1288.       *     Rev 1.2   02 Jul 1988  7:28:38   R. Evans
  1289.       *  Add MAKE_PAL
  1290.       *
  1291.       *     Rev 1.1   01 May 1988 10:45:22   R. Evans
  1292.       *  Remove tabs for inclusion in documentation
  1293.       *
  1294.       *  Rev 1.0   30 Apr 1988 22:10:44   R. Evans
  1295.       *   Initial revision.
  1296.       ******************************************************************/
  1297.      
  1298.      #ifndef HSA_ATTRIBUTES
  1299.      #define HSA_ATTRIBUTES
  1300.                                           /* Monochrome Attributes */
  1301.      #define SCR_NORM    0x07             /* Normal characters */
  1302.      #define SCR_BOLD    0x0F             /* Bold characters */
  1303.      #define SCR_BLINK   0x87             /* Blinking characters */
  1304.      #define SCR_REVERSE 0x70             /* Reverse video characters */
  1305.      #define SCR_UNDER   0x01             /* Underlined characters */
  1306.      #define SCR_B_B     0x8F             /* Blinking bold characters */
  1307.      #define SCR_B_U     0x09             /* Blinking underlined characters */
  1308.                                           /* Colors */
  1309.      #define SCR_BLACK    0x0
  1310.      #define SCR_BLUE     0x1
  1311.      #define SCR_GREEN    0x2
  1312.      #define SCR_CYAN     0x3
  1313.      
  1314.      14-Apr-88                                                          Page 20
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.      Hardwood Software Associates
  1324.      
  1325.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1326.      
  1327.      #define SCR_RED      0x4
  1328.      #define SCR_MAGENTA  0x5
  1329.      #define SCR_YELLOW   0x6
  1330.      #define SCR_WHITE    0x7
  1331.      
  1332.      #define SCR_INTENSE_BIT  0x08        /* Intensty bit */
  1333.      #define SCR_BLINK_BIT    0x80        /* Blink bit */
  1334.                                           /* Create attribute byte */
  1335.      #define MAKE_ATTR(fore,back)  (((back)<<4) | (fore))
  1336.                                           /* Reverse foreground nd background */
  1337.      #define REVERSE_ATTR(a)       ((a&0x80)|(a&0x08)|((a&0x07)<<4)|((a&0x70)>>4))
  1338.                                           /* Create Palette Value */
  1339.      #define MAKE_PAL(intense,normal) ((intense<<3)|normal)
  1340.                                           /* CRT states */
  1341.      #define MONOCHROME     0x7
  1342.      #define CGA            0x6
  1343.      #define EGA            0x10
  1344.                                           /* MOUSE definitions */
  1345.      #define MOWS_LEFT    0               /* Left button */
  1346.      #define MOWS_RIGHT   1               /* Right button */
  1347.      #define MOWS_MIDDLE  2               /* Middle button */
  1348.      
  1349.      #define MOWS_NO      0               /* No mouse (or driver) */
  1350.      #define MOWS_MICRO   2               /* Microssoft mouse installe */
  1351.      #define MOWS_MOUSE   3               /* Mouse Systems mouse installed */
  1352.      #endif
  1353.      
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.      
  1380.      14-Apr-88                                                          Page 21
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.      Hardwood Software Associates
  1390.      
  1391.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1392.      
  1393.      
  1394.                               HSA_TEXT Change History                              _______________________
  1395.      
  1396.      Version         Date       Functions            Modifications                  __________________________________________________________________________
  1397.      
  1398.       3.01        28-Feb-87       All                Released to the public
  1399.      
  1400.      
  1401.       3.02        23-May-87     w_*                  Window functions added
  1402.      
  1403.       3.03        25-Jun-87     hsa_test.doc         Rewritten documentation
  1404.                                 w_user_border        New
  1405.                                 w_str_a              New
  1406.                                 w_str_c_a            New
  1407.                   14-Jul-87     hsa_help.c           Added get_char
  1408.       3.04         9-Aug-87     w_menu1.c            Memory allocation error
  1409.                                                      on "last_page_save";
  1410.                                                      caused crash after
  1411.                                                      several multipage calls
  1412.       3.05        10-Sep-87                          Turbo C support
  1413.       3.06         7-Nov-87     w_menu1.c            Mouse support
  1414.                                 tx_mows.asm
  1415.                   12-Nov-87     tx_misc.asm          tx_rd_str returned pointer
  1416.                                                      incorrectly for large data
  1417.                                                      models
  1418.                                 tx_str.asm           tx_str corrupted DS in large
  1419.                                                      data model
  1420.                   18-Nov-87     w_close.c            Return NULL pointer
  1421.                                 hsa_w.h              ...
  1422.                                 w_str.c              Add w_nl
  1423.                                 w_open               Add w_open_ns
  1424.                                 w_center             New
  1425.       3.07        26-Dec-87     hsa_text.pcw         New documentation
  1426.                    3-Jan-88     tx_stat.asm          Use word OUTs in
  1427.                                                      ALIGN_CURSOR, remove extra
  1428.                                                      divide from GET_CURSOR_POS
  1429.                                 tx_clr.asm           New: tx_clr_a,tx_clr_eol_a,
  1430.                                                           tx_clr_rows_a
  1431.       4.00         5-Feb-88                          Move window routines to
  1432.                                                      hsa_win library
  1433.                                 TX_COMM.ASM          Move tx_state to
  1434.                                 TX_STATUS.ASM        tx_comm, add tx_adapt_1
  1435.                                 TX_SCROL.ASM         New:tx_scup_a,tx_dn_a
  1436.       4.01        12-Mar-88                          Minor documentation
  1437.                                                      changes
  1438.       4.02        12-Apr-88     TX_STAT.ASM          Check current mode on calls
  1439.                                                      to tx_bios & tx_direct
  1440.                   18-Apr-88     STAT_COM.ASM         Replace tx_comm with STAT_COM
  1441.                                 TX_MOWS              Move tx_mows_reset, tx_mows_type,
  1442.                                                      tx_mows_show, tx_mows_hide,
  1443.                                                      tx_mows_button, and
  1444.                                                      tx_mows_sensitivity to MOWS_COM
  1445.      
  1446.      14-Apr-88                                                          Page 22
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.      Hardwood Software Associates
  1456.      
  1457.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1458.      
  1459.                   21-Apr-88     HSA_TX.H             Add REVERSE_ATTR macro
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.      
  1512.      14-Apr-88                                                          Page 23
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.      Hardwood Software Associates
  1522.      
  1523.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1524.      
  1525.      
  1526.                      Alphabetical List of HSA_TEXT Functions (4.02)                     ______________________________________________
  1527.      
  1528.      
  1529.      TX_ADAPT_1      Returns current adapter type
  1530.      TX_ATTR         Read the current screen attribute
  1531.      TX_ATTR_SET     Set the current screen attribute
  1532.      TX_BIOS         Use BIOS for all I/O
  1533.      TX_BLINK        Set to blinking white on black
  1534.      TX_BOLD         Set to intense white on black
  1535.      TX_B_B          Set to intense blinking white on black
  1536.      TX_CHR          Display a character at a specified location
  1537.      TX_CHR_A        Display character using specified location and attribute
  1538.      TX_CHR_A_C      Continue display of character with specified attribute
  1539.      TX_CHR_C        Continue display of character
  1540.      TX_CHR_O        Display a character only at specified location
  1541.      TX_CHR_O_C      Display a character only, continued from current location
  1542.      TX_CLR          Clear the entire screen
  1543.      TX_CLR_A        Clear the entire screen, specified attribute
  1544.      TX_CLR_EOL      Clear to the end of the line
  1545.      TX_CLR_EOL_A    Clear to the end of the line, specified attribute
  1546.      TX_CLR_ROWS     Clear a block of lines on the screen
  1547.      TX_CLR_ROWS_A   Clear a block of lines on the screen, specified attribute
  1548.      TX_COL          Read the current cursor column
  1549.      TX_CONF         Set crt screen memory address and 6845 address
  1550.      TX_CUR_HIDE     Hide the cursor
  1551.      TX_CUR_SET      Set the cursor start / stop scan lines
  1552.      TX_CUR_SHOW     Show the cursor
  1553.      TX_DIRECT       Access screen hardware directly
  1554.      TX_DOWN         Move the current location one row down
  1555.      TX_FILL         Fill a line with the specified number of a character
  1556.      TX_FILL_A       Fill a line with the specified number of a character
  1557.      TX_FILL_A_C     Fill a line with the specified number of a character
  1558.      TX_FILL_C       Fill a line with the specified number of a character
  1559.      TX_GET_STATUS   CRT status save
  1560.      TX_LEFT         Move the current location one column left
  1561.      TX_LOC          Set the current location
  1562.      TX_MOWS_RESET   Reset the mouse driver
  1563.      TX_MOWS_TYPE    Return type of mouse
  1564.      TX_MOWS_SHOW    Show mouse cursor
  1565.      TX_MOWS_HIDE    Hide mouse cursor
  1566.      TX_MOWS_MOVE    Move mouse cursor to specified position
  1567.      TX_MOWS_LOC     Return current location of mouse cursor
  1568.      TX_MOWS_BUTTON  Return status of buttons
  1569.      TX_MOWS_PRESS   Get count of button pressed
  1570.      TX_MOWS_RELEASE Get count of button releases
  1571.      TX_MOWS_WINDOW  Limit motion of mouse to within window
  1572.      TX_MOWS_HARD_CUR
  1573.                      Set hardware text cursor
  1574.      TX_MOWS_SOFT_CUR
  1575.                      Set software text cursor
  1576.  
  1577.      
  1578.      14-Apr-88                                                          Page 24
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.      Hardwood Software Associates
  1588.      
  1589.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1590.      
  1591.      TX_MOWS_SENSITIVITY
  1592.                      Set mouse sensitivity
  1593.      TX_NL           Move the current location to the start of the next line
  1594.      TX_NORM         Set to white on black
  1595.      TX_NO_COL       Read the number of columns in screen
  1596.      TX_NO_SNOW      Don't wait for retrace to prevent snow
  1597.      TX_PUT_STATUS   CRT status restore
  1598.      TX_RD_BLK       Read a block of screen data
  1599.      TX_RD_BLK_C     Read a block of screen data, at current location
  1600.      TX_RD_STR       Read string from screen
  1601.      TX_RD_STR_C     Read string from screen at current location
  1602.      TX_REVERSE      Set to black on white
  1603.      TX_RIGHT        Move the current location one column right
  1604.      TX_ROW          Read the current cursor row
  1605.      TX_SCDN         Scroll window down one line
  1606.      TX_SCDN_A       Scroll window down one line, specified attribute
  1607.      TX_SCUP         Scroll window up one line
  1608.      TX_SCUP_A       Scroll window up one line, specified attribute
  1609.      TX_SNOW         Wait for retrace to prevent snow
  1610.      TX_STATE        Returns current video state
  1611.      TX_STR          Display string at specified location
  1612.      TX_STR_A        Display string using specified location and attribute
  1613.      TX_STR_A_C      Display a string, continued from current location
  1614.      TX_STR_C        Display a string, continued from current location
  1615.      TX_UNDER        Set to underlined
  1616.      TX_UP           Move the current location one row up
  1617.      TX_WR_BLK       Write a block of screen data
  1618.      TX_WR_BLK_C     Write a block of screen data, at current location
  1619.      
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.      
  1644.      14-Apr-88                                                          Page 25
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.      Hardwood Software Associates
  1654.      
  1655.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1656.      
  1657.      
  1658.                                 Companion Libraries                                ___________________
  1659.      
  1660.      Hardwood Software Associates has developed two companion libraries to the
  1661.      HSA_TEXT library.
  1662.      
  1663.      The HSA_WIN is a library of 25 C functions that provide a powerful, yet
  1664.      simple, windowing capability.  The windows created and maintained by this
  1665.      library are of the "pop-up" variety.  A window is simply defined as an
  1666.      area of the screen that is first saved when the window is opened,
  1667.      manipulated by the various window functions, and finally restored to its
  1668.      original state when the window is closed.  Windows may coexist on the
  1669.      screen with text presented via other means.  Windows may optionally be
  1670.      bordered with any of several different border characters.  Window titles
  1671.      may optionally appear in the top or bottom border. Files may be displayed
  1672.      and scrolled through in a window.  Two different menu styles are implemented
  1673.      in windows.  The functions have been developed and tested for the Microsoft
  1674.      version 5.00, and Turbo C version 1.5 compilers.  HSA_WIN is written in C
  1675.      for speed and memory efficiency.
  1676.      
  1677.      
  1678.      HSA_GRAF is a library of 84 C functions that provide you with a direct,
  1679.      fast ability to create graphics on any one of the three major graphics
  1680.      boards available for the IBM P.C. (Color Graphics Adapter (CGA), Enhanced
  1681.      Graphics Adapter (EGA), and the Hercules Graphics Board).  A single setup
  1682.      call establishes the board in use.  All functions used to create the
  1683.      actual graphics are device independent. Functions are included to allow
  1684.      easy programming of a mouse.  The functions have been developed and
  1685.      tested for the Microsoft C version 5.10, and Turbo C version 1.5
  1686.      compilers.  This library has two divisions.  All basic graphics functions
  1687.      begin with the prefix "g_".  The other division, prefixed with "gs_"
  1688.      allows for creating scaled graphics. HSA_GRAF is written in assembler and
  1689.      C for speed and memory efficiency.
  1690.      
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.      
  1710.      14-Apr-88                                                          Page 26
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.      Hardwood Software Associates
  1720.      
  1721.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1722.      
  1723.      
  1724.                       Alphabetical List of HSA_WIN Functions (4.04)                      _____________________________________________
  1725.      
  1726.      
  1727.      W_BOT_MSG       Display a message in the bottom border line
  1728.      W_CENTER        Display a string centered in a window
  1729.      W_CENTER_A      Display a string centered, specified attribute
  1730.      W_CLOSE         Close a window
  1731.      W_CLR           Clear a window
  1732.      W_CLR_EOL       Clear to end of line in window
  1733.      W_CUR_LOC       Display the screen cursor in the window
  1734.      W_FILE_NAME     Display a named file in a window
  1735.      W_FILE_PTR      Display a pointed to file in a window
  1736.      W_MENU1_FILL    Fill a style 1 menu with data
  1737.      W_MENU1_OPEN    Open a menu style 1 window
  1738.      W_MENU2         Highlighted keyword style menu
  1739.      W_MOVE          Move a window
  1740.      W_NL            Move cursor to start of next line
  1741.      W_OPEN          Open a window
  1742.      W_OPEN_NS       Open a window (no screen save)
  1743.      W_SCDN          Scroll data in window down
  1744.      W_SCUP          Scroll data in window up
  1745.      W_STR           Display a string in a window
  1746.      W_STR_C         Display a string in a window, at current location
  1747.      W_STR_A         Display a string in a window, with attribute
  1748.      W_STR_C_A       Display a string in a window, at current location
  1749.      W_STR_COL       Display a string in a window column
  1750.      W_TOP_MSG       Display a message in the top border line
  1751.      W_USER_BORDER   Set characters for user border
  1752.      
  1753.      
  1754.      
  1755.      
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.      
  1776.      14-Apr-88                                                          Page 27
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.      Hardwood Software Associates
  1786.      
  1787.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1788.      
  1789.      
  1790.                      Alphabetical List of HSA_GRAF Functions (1.11)                     ______________________________________________
  1791.      
  1792.      
  1793.      COS_REC         Compute the reciprocal of cos
  1794.      DISP_GRAPH      Set the display to graphics mode
  1795.      DISP_GRAPH_CLR  Set the display to graphics mode and clear screen
  1796.      DISP_TEXT       Set the board to the text mode
  1797.      GS_ARC          Draw a circular arc (scaled)
  1798.      GS_CIRCLE       Draw a full circle (scaled)
  1799.      GS_FILL         Fill an area from seed (scaled)
  1800.      GS_LINE         Draw a line (scaled)
  1801.      GS_LINE_H       Draw a horizontal line (scaled)
  1802.      GS_LINE_C       Draw a line continued from current location (scaled)
  1803.      GS_LOC          Return current location (scaled)
  1804.      GS_MOVE         Set current position (scaled)
  1805.      GS_MOWS_MOVE    Move mouse cursor to specified position
  1806.      GS_MOWS_LOC     Return current location of mouse cursor
  1807.      GS_MOWS_PRESS   Get count of button pressed
  1808.      GS_MOWS_RELEASE Get count of button releases
  1809.      GS_MOWS_WINDOW  Limit motion of mouse to within window
  1810.      GS_POINT        Set a point (scaled)
  1811.      GS_RECT         Draw a rectangle (scaled)
  1812.      GS_RPOLY        Draw a regular polygon (scaled)
  1813.      GS_R_POINT      Return the color of the specified point
  1814.      GS_ROTATE       Rotate coordinates
  1815.      GS_SET_DEFAULT_FONT
  1816.                      Set default text font
  1817.      GS_STR_H        Display a horizontal message on screen
  1818.      GS_TEXT         Display text at specified location, height, angle
  1819.      GS_TEXT_FONT    Set character font
  1820.      GS_TEXT_SPACE   Set character spacing
  1821.      G_ADAPT_1       Return current adaptor type
  1822.      G_BACK_COLOR    Set background color
  1823.      G_BS_H          Back space one character position
  1824.      G_CGA_HR        Use IBM CGA in high resolution (640x200)
  1825.      G_CLR           Clear the current graphics page
  1826.      G_DASH          Set line type to dashed
  1827.      G_DOT           Set line type to dotted
  1828.      G_EGA_HR_CO     Use IBM EGA in high resolution
  1829.      G_EGA_LR_CO     Use IBM EGA in low resolution
  1830.      G_EGA_RESTORE   Restore saved EGA screen
  1831.      G_EGA_SAVE      Save EGA screen
  1832.      G_FILL          Fill an area from a seed
  1833.      G_FORE_COLOR    Set foreground color
  1834.      G_FREE          Free screen save buffer
  1835.      G_GETS          Get a string from console in graphics mode
  1836.      G_HERC          Use Hercules monochrome graphics board
  1837.      G_HERC_HALF     Set Hercules board to half graphics mode
  1838.      G_LINE          Draw a line
  1839.      G_LINE_H        Draw a horizontal line
  1840.      G_LINE_C        Draw a line continued from current location
  1841.      
  1842.      14-Apr-88                                                          Page 28
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.      Hardwood Software Associates
  1852.      
  1853.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1854.      
  1855.      G_LOC           Return current location
  1856.      G_MALLOC        Allocate screen save buffer
  1857.      G_MAP_SIZE      Compute size of screen map
  1858.      G_MODE          Set mode for screen drawing
  1859.      G_MOVE          Set current position
  1860.      G_MOWS_RESET    Reset the mouse driver
  1861.      G_MOWS_TYPE     Return type of mouse
  1862.      G_MOWS_SHOW     Show mouse cursor
  1863.      G_MOWS_HIDE     Hide mouse cursor
  1864.      G_MOWS_MOVE     Move mouse cursor to specified position
  1865.      G_MOWS_LOC      Return current location of mouse cursor
  1866.      G_MOWS_BUTTON   Return status of buttons
  1867.      G_MOWS_PRESS    Get count of button pressed
  1868.      G_MOWS_RELEASE  Get count of button releases
  1869.      G_MOWS_WINDOW   Limit motion of mouse to within window
  1870.      G_MOWS_CUR      Set graphics mouse cursor
  1871.      G_MOWS_SENSITIVITY
  1872.                      Set mouse sensitivity
  1873.      G_ORIGIN        Set screen origin location
  1874.      G_OTHER         Use another variety of graphics adapter
  1875.      G_PAGE          Set graphics page for Hercules
  1876.      G_POINT         Set the specified pixel in the current
  1877.      G_RECT          Draw a rectangle
  1878.      G_REVERSE_COLOR Swap foreground and background
  1879.      G_R_ORIGIN      Return the current origin location
  1880.      G_R_POINT       Return the color of the specified point
  1881.      G_SCALE         Set screen scale factors
  1882.      G_SCR_RESTORE   Restore the graphics screen image from buffer
  1883.      G_SCR_SAVE      Save the current graphics screen image in buffer
  1884.      G_SCREEN        Return size of screen
  1885.      G_SET_LINE      Set line type mask
  1886.      G_SET_PALLET_REG Set palette register
  1887.      G_SOLID         Set line type to solid
  1888.      G_STATE         Returns current video state
  1889.      G_STR_H         Display a horizontal message on screen
  1890.      G_XDOTS         Get X scale factor
  1891.      G_YDOTS         Get Y scale factor
  1892.      SIN_REC         Compute the reciprocal of sin
  1893.      
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.      
  1908.      14-Apr-88                                                          Page 29
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.      Hardwood Software Associates
  1918.      
  1919.              HSA_TEXT - Text Mode Screen Control Library (V4.02)               HSA_TEXT - Text Mode Screen Control Library (V4.02)  
  1920.      
  1921.      
  1922.                       Hardwood Software Associates Order Form
  1923.      
  1924.      Please send me the following HSA libraries, new registration:
  1925.      
  1926.            HSA_GRAF Graphics library                           $20.00      ____                                                           
  1927.      
  1928.            HSA_TEXT Text Screen / Mouse Library                $20.00      ____                                                           
  1929.      
  1930.            HSA_WIN  Windowing Library (requires HSA_TEXT)      $20.00      ____                                                           
  1931.      
  1932.      
  1933.      Please send me the updates for following HSA libraries:
  1934.      
  1935.            HSA_GRAF Graphics library                           $10.00      ____                                                           
  1936.      
  1937.            HSA_TEXT Text Screen / Mouse Library                $10.00      ____                                                           
  1938.      
  1939.            HSA_WIN  Windowing Library (requires HSA_TEXT)      $10.00      ____                                                           
  1940.      
  1941.      I am currently using the following version of each library:
  1942.      
  1943.            HSA_GRAF Graphics library      ____                          
  1944.      
  1945.            HSA_TEXT Text Screen / Mouse Library      ____                                     
  1946.      
  1947.            HSA_WIN  Windowing Library (requires HSA_TEXT)      ____                                               
  1948.      
  1949.      
  1950.      Please send check or money order (USA currency only please) to:
  1951.      
  1952.              Hardwood Software Associates
  1953.              364 Benson Road
  1954.              Northbridge, MA 01534
  1955.      
  1956.      
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.      
  1974.      14-Apr-88                                                          Page 30
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.